package com.vhall.component.entity.account.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import com.vhall.component.plugin.common.vo.MultipleRoleVO;
import lombok.Data;

import java.io.Serializable;
import java.util.List;


/**
 * @author dalong
 * @date 2021-04-25 17:01
 */

@Data
public class AuthLoginRspVO implements Serializable {
    /**
     * 用户账号id
     */
    @JsonProperty(value = "account_id")
    private Integer accountId;
    /**
     * 用户名
     */
    private String username;
    /**
     * 手机号
     */
    private Long phone = 0L;
    /**
     * 昵称
     */
    @JsonProperty("nick_name")
    private String nickname;
    /**
     * 令牌
     */
    private String token;

    /**
     * 令牌
     */
    @ParamName("vss_token")
    @JsonProperty("vss_token")
    private String vssToken;
    /**
     * 账号类型
     * 1 主持人
     */
    @JsonProperty(value = "account_type")
    private Integer accountType;
    /**
     * 状态:-1|封停,0|正常
     */
    private Integer status;
    /**
     * 应用id
     */
    @JsonProperty(value = "app_id")
    private String appId;
    /**
     *
     */
    @JsonProperty(value = "save_user_url")
    private String saveUserUrl;
    /**
     * 用户角色标识
     * roleName=3  代表 嘉宾  roleName=4  代表助理
     */
    @JsonProperty(value = "role_name")
    private Integer roleName;
    /**
     * 用户角色权限 id -role_id
     */
    @JsonProperty(value = "role_id")
    private Integer roleId;
    /**
     * 房间是否开启审核
     * 1:开启,0:关闭
     */
    @JsonProperty(value = "room_audit_witch")
    private Integer roomAuditWitch;

    /**
     * 0 没有选择
     * 1 选择
     */
    @JsonProperty(value = "choose_nickname")
    @ParamName(value = "choose_nickname")
    private Integer chooseNickname;
    /**
     * 所属组织架构 code
     */
    @JsonProperty("org_code")
    @ParamName("org_code")
    private String orgCode;
    /**
     * 所属组织架构 名称
     */
    @JsonProperty("org_name")
    @ParamName("org_name")
    private String orgName;
    /**
     * 统一用户没有这个usercode就返回islogin=0
     * 前端就引导客户去注册登录
     */
    private String islogin;
    /**
     * 当前用户可以选择的权限列表
     */
    @JsonProperty("role_list")
    @ParamName("role_list")
    List<MultipleRoleVO> roleList;
    /**
     * 用户微信身份标识
     * 只在微信渠道下会返回
     */
    @JsonProperty("openid")
    @ParamName("openid")
    private String openid;

    /**
     * 角色类型
     * 1:平台级,2:部门级
     */
    @JsonProperty(value = "role_type")
    @ParamName(value = "role_type")
    private Integer roleType;

}
